Dynamic display of file sections based on user identities

ABSTRACT

A system for dynamically displaying specific sections of a file depending on a user identity is provided. The system utilizes access control data to enable an author to generate and share a file with a number of consumers and have each recipient view a customized set of sections of the file depending on access permissions associated with each recipient. The file can be in any format, e.g., a word processing document, presentation document, a media file, or any other file having a number of sections. A section of a file can be any definitive unit of data, such as a page, slide, tab, worksheet, video segment, audio segment, etc. Permissions can be based on a user&#39;s permission level, work history, skill level, role in an organization, title, etc. The system can also prevent access to certain sections of a file depending on the permissions associated with a consumer.

BACKGROUND

Productivity files and media files are commonly used to shareinformation in various formats. For example, some information can beshared as a standalone file using a word processing document, apresentation document, or a spreadsheet document. Although most existingfile formats are effective for communicating and sharing information,most existing data formats are static in nature when it comes to how thecontent is presented. In most existing systems, when an author generatesa document and that document is shared between multiple users, eachrecipient of the document sees identical versions of content. When theauthor desires to show different sections of a document to differentusers, or wishes to redact or deemphasize certain sections of a documentfor some users, the author is required to manually edit the document andthen manage the distribution of different versions of the document toensure that each recipient views the intended version.

In addition, most existing files do not have advanced security featuresthat provide different levels of access to individual sections of adocument. In most existing technologies, a user can protect a documentthrough the use of an encryption technology. Although such securitymeasures can protect the contents of a file, this all-or-nothingapproach does not enable authors to control access to sections, e.g.,pages, tabs, columns or rows of data, of a document at a granular level.

It is with respect to these and other considerations that the disclosuremade herein is presented.

SUMMARY

The present invention enables a system to dynamically display specificsections of a file depending on an identity of a user viewing the file.In some embodiments, a system utilizes access control data, e.g., datadefining permissions associated with user identities, to enable anauthor to generate and share a file with a number of recipients and haveeach recipient view different sections of the file depending upon accesscontrol permissions associated with each recipient. The file can be inany format, e.g., a word processing document, a presentation document, amedia file, or any other file having a number of sections. Forillustrative purposes, a section of a file can be any definitive unit ofdata, such as a page, side, tab, worksheet, column, row, video segment,audio segment, etc. In addition, a section of a file can be defined bytext or data having a particular format, such as an annotation, aheader, a footer, a footnote, column header, row header, etc.Permissions can be based on attributes associated with a user identity,such as a user's permission level, work history, skill level, role in anorganization, title, etc. In some embodiments, the techniques disclosedherein can prevent access to certain sections of a file depending on thepermissions associated with a consumer. Such features mitigate the riskof unintentional exposure of data when a file is inadvertently sent tothe wrong user.

For example, consider a scenario where a presentation file is sent to aCEO, several managers, and several first-level programmers. Apresentation file configured according to the techniques disclosedherein can automatically cause a display of one version of thepresentation to be sent to the CEO, another version to the managers, andyet another version to the programmers. In such an example, the authorof the presentation file only needs to generate and distribute one file.The CEO can see a higher-level version of the presentation, e.g., withfewer slides and higher-level bullet points, and other employees can seeother versions of the presentation, e.g., a different set of slides,that is targeted for their respective levels of a given hierarchy. Thus,one copy of the file can be broadly distributed to multiple users witheach recipient automatically viewing the appropriate version of thepresentation depending on his/her permission level, work history, skilllevel, role, etc. In another example, a video file may have severalsegments of video; when the video is played by a first person in acompany, the video file may cause a video player to display all videosegments of the file. When the same video is played by other people, thevideo same file may cause a video player to only display certainsegments, e.g., the first segment and last segment of the video file,selected for those other people.

In some embodiments, a system can allow authors of a document to controlaccess to specific sections of the document based on a combination offactors enabling a more granular level of control of access to specificfile sections. For example, when a document is sent to the CEO and threemanagers at the same level in an organization, the document canautomatically display one version of the presentation to the CEO, andautomatically display other unique versions to each of the threemanagers depending on each manager's role in the organization. Forexample, a general manager may see all slides of a presentation, adevelopment manager may see a first subset of the slides, and a designmanager may see a second subset of the slides. A viewing program, suchas a word processing program or a presentation program, canautomatically display certain sections of a document depending on auser's level in an organization as well as a user's role.

In some embodiments, access to sections of a file can be based on an“author-choice” paradigm or consumer-choice” paradigm. A systemproviding an author-choice paradigm enables the author to establish thepermissions for consumers to access certain sections of a file, such asa presentation file, video file or audio file. For instance, an authorcan set access rights for a first-level employee to view the first 10pages of a document and set access rights for a second-level employee toview the last 10 pages of the document. A system providing theconsumer-choice paradigm gives the viewers options for selecting aparticular set of sections. For instance, a document can give a consumera choice to view a “short version” of a presentation or a “long version”of the presentation. In response to the consumer's selection, a viewingapplication can display a first set of sections when the short versionis selected, and display a second set of sections when the long versionis selected.

In some configurations, an author of a document can influence theconsumer's viewing experience. For instance, an author can control atype of application a consumer utilizes to view a file based on theconsumer's identity. In one illustrative example, one file can cause theexecution of a word processing application for a CEO but cause theexecution of a presentation program for other employees of anorganization. Such configurations can utilize different applications tobring emphasis to certain sections using different formatting features.

In addition, the techniques disclosed herein can record consumer andauthor changes to a document based on a level of information about thedocument that is accessible to each user. Thus, edits and annotations byeach user can also adhere to the access levels established by thetechniques disclosed herein.

The techniques disclosed herein provide a user interface that enables anauthor to view and define access permissions for individual consumers orgroups of consumers. The user interface can display access permissionsfor documents, sections of documents, or aspects of other filesgenerated and managed by the author. The user interface can also enablethe author to synthesize and view a semantic summary and a type of viewthe consumers will experience. For instance, the user interface can mapthe associations between particular consumer identities and specificapplications.

In addition to providing a granular level of control to sections of afile, a system can change the layout of the content depending on aconsumer's identity. For example, the order and format of file contentcan be set for a first consumer and another order and/or format can beset for a second consumer. Among many other benefits, a system canautomatically display a layout that is optimal for a person's role orother characteristics while requiring minimal or no user input from theconsumer. In one illustrative example, an electronic book may change alayout, displayed images, or use different words, depending on a workhistory of a user, a skill level, a role of an employee, etc. In anotherexample, a video file can have a number of video clips that can berearranged and modified based on a work history of a user, a skilllevel, a role of an employee, etc.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key or essentialfeatures of the claimed subject matter, nor is it intended to be used asan aid in determining the scope of the claimed subject matter. The term“techniques,” for instance, may refer to system(s), method(s),computer-readable instructions, module(s), algorithms, hardware logic,and/or operation(s) as permitted by the context described above andthroughout the document.

BRIEF DESCRIPTION OF THE DRAWINGS

The Detailed Description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Thesame reference numbers in different figures indicates similar oridentical items. References made to individual items of a plurality ofitems can use a reference number with a letter of a sequence of lettersto refer to each individual item. Generic references to the items mayuse the specific reference number without the sequence of letters.

FIG. 1 is a block diagram of a system for dynamically displayingsections of a document based on an identity of a user viewing thedocument.

FIG. 2A is a screenshot of a user interface mapping a first useridentity with a first set of file sections.

FIG. 2B is a screenshot of a user interface mapping a first group ofuser identities with a second set of file sections.

FIG. 2C is a screenshot of a user interface mapping a second group ofuser identities with a third set of file sections.

FIG. 3 illustrates associations between user identities and sets of filesections.

FIG. 4A illustrates a viewing sequence that is automatically displayedto a user associated with a first identity.

FIG. 4B illustrates a viewing sequence that is automatically displayedto a user associated with a first group of user identities.

FIG. 4C illustrates a viewing sequence that is automatically displayedto a user associated with a second group of user identities.

FIG. 5 illustrates an example of a file providing a consumer-choiceparadigm, where the file contains several viewing sequences and optionsfor a consumer to select a particular viewing sequence.

FIG. 6A illustrates a representation of a file having several viewingsequences of content.

FIG. 6B illustrates associations between user identities and the viewingsequences of FIG. 6A.

FIG. 7A illustrates a first viewing sequence that is automaticallydisplayed to a user associated with a first identity.

FIG. 7B illustrates a viewing sequence that is automatically displayedto a user associated with a first group of user identities viewing asecond set of file sections.

FIG. 7C illustrates a viewing sequence for a user associated with asecond group of user identities viewing a third set of file sections.

FIG. 8A is a screenshot of a user interface that can be used to map useridentities to display sequences of a file and map identities withpreferred viewing applications.

FIG. 8B is a screenshot of a user interface mapping a user identity to adisplay sequence of a file and mapping the user identity to a preferredviewing application.

FIG. 8C is a screenshot of a user interface mapping user identities to adisplay sequence of a file and mapping the user identities to apreferred viewing application for those users.

FIG. 9A illustrates sections of a file and associations between a useridentity and sections of the file.

FIG. 9B illustrates a first viewing sequence of the file shown in FIG.9A that is automatically displayed to a user associated with a firstidentity, the content of the first viewing sequence is displayed to theuser via a presentation application.

FIG. 9C illustrates a first viewing sequence of the file shown in FIG.9A that is automatically displayed to a user associated with a firstidentity; the content of the first viewing sequence is displayed to theuser via a presentation application.

FIG. 10 is a flow diagram showing aspects of a routine for enabling thetechniques disclosed herein.

FIG. 11 is a computer architecture diagram illustrating an illustrativecomputer hardware and software architecture for a computing systemcapable of implementing aspects of the techniques and technologiespresented herein.

FIG. 12 is a diagram illustrating a distributed computing environmentcapable of implementing aspects of the techniques and technologiespresented herein.

FIG. 13 is a computer architecture diagram illustrating a computingdevice architecture for a computing device capable of implementingaspects of the techniques and technologies presented herein.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 100 for dynamically displaying specificsections of a file 151 based on an identity of a user viewing thedocument. In some embodiments, the system 100 utilizes access controldata 152, e.g., data defining permissions associated with useridentities, to enable an author 170, to generate and share a file 151with a number of consumers 171, and have individual consumers 171 viewdifferent sections of the file 151 depending on permissions associatedwith each consumer 171. The file 151 can be any suitable format, e.g., aword processing document, presentation document, an audio file, a videofile, or any other file having a number of sections. For illustrativepurposes, a section of a file 151 can be any definitive unit of data,such as a page, slide, tab, worksheet, column, row, video segment, audiosegment, etc. In addition, a section of the document can be defined bytext or data having a particular format, such as an annotation, aheader, a footer, a footnote, etc. The access permissions for each filesection can be based on attributes associated with a user identity, suchas a user's permission level, work history, skill level, role in anorganization, title, etc. In some embodiments, the techniques disclosedherein can prevent access to certain sections of a file 151 based on aconsumer's permissions. Such features mitigate the risk of unintentionalexposure of data when a file 151 is inadvertently sent to the wronguser.

A file 151 can be communicated to any number of computing devices 106(106B-106N) associated with a consumer 171 (171A-171N) from a computingdevice 106A associated with an author 170. The file 151 can becommunicated via a network 108, and in some instances, the file can besent via a service, e.g., a storage service, an email service, etc. Eachcomputing device 106B-106N associated with a consumer 171 can displaysections of the file 151 on a user interface 195 (195A-195N) by the useof a viewing application 142. The viewing application 142 can be anysuitable application such as a presentation program, a web browser, amedia player, etc.

When viewing the contents of a file 151, a consumer 171 may receiveaccess control data 152 to access sections of the file 151. In someconfigurations, the access control data 152 can be provided by a servermodule 136 of a service 110 and communicated to one or more computingdevices 106.

In one illustrative example, consider a scenario where a presentationfile is sent to a CEO, several managers, and several first-levelprogrammers. A presentation file is configured to automatically cause adisplay of one version of the presentation having a first set of slidesto the CEO, another version having a second set of sides to themanagers, and yet another version having a third set of slides to theprogrammers. In such an example, the author 170 of the presentation file151 only needs to generate and distribute one copy of the file 151, andthe CEO can automatically view the first set of slides, and otheremployees can see versions of the presentation, e.g., the other sets ofslides, that is targeted for their respective levels. One copy of thefile 151 can be broadly distributed to multiple consumers 171 and basedon metadata in the file 151; a viewing application 142 willautomatically display select sets of slides to each consumer 171depending on their permissions.

To facilitate aspects of the system 100, the techniques disclosed hereinprovide a file structure including metadata associating differentsections of a file 151 with user identities and/or permissions. Inaddition, the techniques disclosed herein provide a user interface thatenables an author 170 to view and define access permissions forindividual consumers 171 or groups of consumers 171. The user interfaceprovides graphical representations that show associations betweensections of a file 151 and user identities of one or more consumers 171.Turning now to FIGS. 2A-2C, a number of screen shots illustrate aspectsof a user interface 190 for mapping and configuring associations betweenfile sections and user identities of consumers 171.

FIG. 2A illustrates a user interface 190 comprising a first pane 320 fordisplaying sections of a file 151. For illustrative purposes, eachsection is labeled as item 1 through 9. In addition, the user interface190 comprises a second pane 321 for displaying representations of useridentities. In this example, the representations of user identitiesinclude a first user 171A, a second user 171B, up to a ninth user 171I.

In some embodiments, graphical indicators can be utilized to showassociations between a section of a file and one or more useridentities. In this specific example, graphical highlights can berendered when a user selects a section of the file and one or more useridentities. The highlights can be toggled on or off when a user selectsindividual sections or individual user identities. To illustrate aspectsof this disclosure, this example shows a scenario where the author 170selects file sections 1, 3, 4, 7, and 9. In addition, the author selectsthe first consumer 171A. By making such selections, the author 170associates the first consumer 171A with a first set of sections thatincludes sections 1, 3, 4, 7, and 9. Once the author is done definingthe set of sections and making the associations with the useridentities, the author can save the changes by providing a user input,such as an actuation of the “save” button. The associations can be savedas metadata to the file 151.

The author 170 can define any number of associations between thesections of a file 151 and one or more user identities. FIG. 2Bcontinues the current example, where the author defines a second set ofsections and associates the second set of sections with different useridentities. More specifically, in this example the author 170 defines asecond set of sections that includes sections 1, 2, 5, 7, 8, and 9. Theauthor 170 also associates the second set of sections with the fourthconsumer 171D and the fifth consumer 171E. In continuing the currentexample, as shown in FIG. 2C, the author 170 defines a third set ofsections that includes all sections of the file 171. As shown, theauthor 170 also associates the third set of sections with threeconsumers, 171G, 171H, and 171I.

As a result of the user input, one or more computing devices cangenerate metadata defining the associations between each set of sectionsand the various user identities. FIG. 3 illustrates one example of afile 151 comprising definitions for the set of sections and metadataassociating the selected user identities with each set of sections. Theexample of FIG. 3 also shows the access control 152 in the form of anorganizational chart. The access control 152 can include a number ofdifferent attributes associated with each user identity. For instance,the access control 152 can define a hierarchy of an organization, titlesfor each user identity, roles for each user identity, etc. As summarizedabove, a file 151 configured in accordance with the techniques disclosedherein can cause a viewing application, such as a presentationapplication or a word processing application, to automatically displaydifferent sets of file sections for different users. The file 151 isconfigured to minimize user interaction needed to view sections that aretargeted for a particular person. FIGS. 4A-4C illustrate viewingsequences that can be automatically displayed to a user based on theiruser identity. For illustrative purposes, the examples shown in FIG.4A-4C continue the example of the file 151 shown in FIG. 3.

FIG. 4A illustrates a viewing sequence that is automatically displayedto a user associated with the first identity 171A. As shown, as a userassociated with the first identity 171A scrolls, paginates, or otherwiseprogresses through sections of the file 151, viewing application 142only displays sections 1, 3, 5, 7, and 9. The other sections can beblocked or deemphasized when the file 151 is accessed by the userassociated with the first identity 171A. Sections may be deemphasized bymoving the sections to the end of the sequence, displayed in smallertext, or otherwise formatted in a way that brings highlight or emphasisto the sections that are selected for display, e.g., sections 1, 3, 5,7, and 9.

FIG. 4B illustrates a viewing sequence that is automatically displayedto users associated with the fourth consumer 171D and the fifth consumer171E. As shown, as these users scroll, paginate, or otherwise progressthrough sections of the file 151, a viewing application 142 onlydisplays sections 1, 2, 5, 7, 8 and 9. The other sections can be blockedor deemphasized when the file 151 is accessed by the users associatedwith the fourth consumer 171D and the fifth consumer 171E.

FIG. 4C illustrates a viewing sequence that is automatically displayedto users associated with the seventh consumer 171G, eighth consumer 171Hand the ninth consumer 171I. As shown, as these users scroll, paginate,or otherwise progress through sections of the file 151, a viewingapplication 142 displays all nine sections 1-9 of the file 151. Also,for these users, no sections are blocked or deemphasized when the file151 is accessed by this group of users.

As summarized above, access to sections of a file 151 can be based on an“author-choice” paradigm or consumer-choice” paradigm. A systemproviding an author-choice paradigm enables the author to establish thepermissions for consumers to access certain sections of a file, such asa presentation file, video file or audio file. For instance, an authorcan set access rights for a first-level employee to view the first 10pages of a document and set access rights for a second-level employee toview the last 10 pages of the document. The examples above illustrateuser interfaces, file formats and other mechanisms for facilitating“author-choice” paradigms.

A system providing the consumer-choice paradigm gives the viewersoptions for selecting a particular set of sections. For instance, adocument can give a consumer a choice to view a “short version” of apresentation or a “long version” of the presentation. In response to theconsumer's selection, a viewing application can display a first set ofsections when the short version is selected, and display a second set ofsections when the long version is selected. In some configurations, theselection of a set of sections can be based on length of time. Forexample, an author can configure a short version of a presentation byindicating one or more time thresholds, e.g., the two-minute version. Bythe use of a time threshold indicated by an author, a predeterminednumber of sections may be selected for a set of sections. For instance,a set of high priority sections or high-level sections may be selectedfor a “two-minute version” of a presentation.

In addition, a consumer can also indicate a set of sections they wish toview based on a length of time. For instance, an introduction slide ofthe presentation can prompt the consumer to indicate an amount of time,e.g., select a two-minute version of a presentation, a five-minuteversion of a presentation, etc. Based on the consumer's selection, a setof sections can be selected and automatically displayed to the consumer.For instance, a set of high priority sections or high-level sections maybe selected for a “two-minute version” of a presentation, and moresections or all sections can be selected and displayed for longer timeperiods indicated by the consumer.

FIG. 5 illustrates an example implementation of a consumer-choiceparadigm. In this example, a file has two or more viewing sequences. Inaddition, the file 151 comprises an introduction section, such as anintroduction slide 501, that is displayed to a consumer 171 viewing thefile 151. In some configurations, upon opening the file 151, theintroduction section is displayed to the consumer 171. The introductionsection can include selectable elements 510A and 510B each correspondingto unique viewing sequences defined in the file 151.

In this example, the first selectable element 510A corresponds to afirst viewing sequence and the second selectable element 510Bcorresponds to a second of a sequence. In response to a user selectionof the first selectable element 510A, a viewing application can displaya sequence of sections including sections 1, 3, 5, 7 and 9. In responseto a user selection of the second selectable element 510B, a viewingapplication can display sequence of sections including all sections ofthe file 151.

In some embodiments, a system can allow authors 170 of a file 151 tocontrol access to specific sections of the file 151 at a granular level.For example, when a file 151 is sent to the CEO and three managers at asame level in an organization, the file 151 can provide one version ofthe presentation to the CEO, and other versions that are unique to eachmanager depending on their roles in the organization. For example, ageneral manager may see all slides of a presentation, a developmentmanager may see a first subset of the slides, and a design manager maysee a second subset of slides. A viewing program, such as a wordprocessing program or a presentation program, can automatically displaycertain sections of a document depending on a user's level in anorganization as well as the user's role. As will be described in moredetail below, the viewing program can also display a semantic summary ofthe contents.

In addition to providing a granular level of control to sections of afile, the system 100 can change the layout of the content of a file 151depending on user identity. For example, the order and format of thecontent can change dynamically based on an identity of a user viewingthe document. Among many other benefits, a system 100 can automaticallydisplay a layout that is optimal for a person's role or othercharacteristics while requiring minimal or no user input from theviewer. In one illustrative example, an electronic book may change alayout, displayed images, or use different words, depending on a workhistory of a user, a skill level, a role of an employee, etc. In anotherexample, a video file can have a number of video segments that can berearranged and modified based on a work history of a user, a skilllevel, a role of an employee, etc.

To facilitate aspects of such features, a file 151 can comprise aplurality of viewing sequences. FIG. 6A illustrates one example of afile 151 having a first viewing sequence 551A, a second viewing sequence551B, and a third viewing sequence 551C. As shown, each sequence maycomprise a different set of sections having a different order ofsections.

In this example, a first viewing sequence 551A comprises nine sectionsin the following order: section 1A, section 1B, section 2, section 3,section 4, section 5, section 6A, section 6B, section 7, section 8,section 9A and section 9B. The second viewing sequence 551B comprisessections in the following order: section 1A, section 1B, section 4,section 3, section 8, section 6A, section 6B, and section 9A. The thirdviewing sequence 551C comprises sections in the following order: section1A, section 1B, section 2, section 3, section 8, section 7, and section9B. These examples are provided for illustrative purposes and are not tobe construed as limiting. It can be appreciated that a file 151 caninclude any number of sequences and the sections can be arranged in anyorder.

FIG. 6B illustrates how each sequence 551 can be associated withidentities of individual consumers or groups of consumers. In thisexample, metadata 601 of the file 151 associates the first viewingsequence 551A with the first consumer 171A. The metadata 601 of the file151 also associates the second viewing sequence 551B with the fourthconsumer 171D and the fifth consumer 171E. In addition, the metadata 601of the file 151 associates the third viewing sequence 551C with a groupof consumers including the seventh consumer 171G, eighth consumer 171H,and the ninth consumer 171I.

FIG. 7A illustrates a viewing sequence that is automatically displayedto the first consumer 171A. As shown, as the first consumer 171Ascrolls, paginates, or otherwise progresses through sections of thefile, viewing application 142 may display the file sections in thefollowing order: section 1A, section 1B, section 2, section 3, section4, section 5, section 6A, section 6B, section 7, section 8, section 9Aand section 9B.

FIG. 7B illustrates a viewing sequence that is automatically displayedto the fourth consumer 171D and the fifth consumer 171E. As shown, asthese consumers scroll, paginate, or otherwise progress through sectionsof the file, a viewing application 142 may display the file sections inthe following order: section 1A, section 1B, section 4, section 3,section 8, section 6A, section 6B, and section 9A. The sections that arenot defined in the second viewing sequence 551B can be blocked ordeemphasized when the file 151 is accessed by the fourth consumer 171Dand the fifth consumer 171E.

FIG. 7C illustrates a viewing sequence that is automatically displayedto the seventh consumer 171G, eighth consumer 171H and the ninthconsumer 171I. As shown, as these consumers scroll, paginate, orotherwise progress through sections of the file 151, a viewingapplication 142 may display the file sections in the following order:section 1A, section 1B, section 2, section 3 section 8, section 7, andsection 9B. The sections that are not defined in the third viewingsequence 551C can be blocked or deemphasized when the file 151 isaccessed by the seventh consumer 171G, eighth consumer 171H and theninth consumer 171I. In some configurations, consumers that are notdefined in the metadata 601 can be blocked from viewing the contents ofthe file 151. In addition, the file 151 may cause a viewing applicationto automatically display a default section, e.g., a splash screen or aslide, indicating that the contents of the file 151 is protected whenthe file 151 is accessed by consumers that are not defined in themetadata 601.

As summarized above, an author 170 of a file can influence a type ofview the consumers 171 will experience. For instance, the author 170 cancontrol a type of application a consumer 171 utilizes to view a file 151based on the consumer's identity. In one illustrative example, one file151 can cause the execution of a word processing application for a CEObut cause the execution of a presentation program for other employees ofan organization. Such configurations can utilize different applicationsto bring emphasis to certain sections using different formattingfeatures. To facilitate this, the metadata of a file 151 may associateone or more user identities with the preferred application. Thetechniques disclosed herein also provide a user interface forillustrative associations between user identities and preferredapplications.

FIG. 8A is a screenshot of a user interface that can be used to map useridentities to display sequences of a file and map identities with apreferred viewing application. FIG. 8A illustrates a user interface 190displaying layouts, e.g., sequences, of sections that are selected by anauthor 170. The user interface 190 can display a representation 831 ofthe file sections and allow the author 170 to select sections for eachviewing sequence 551. The interface 190 can also receive a user inputthat causes the file to change the order of the selected sections. Forinstance, as shown, an author 170 can drag and drop representations ofdifferent sections to change the order of selected sections. In thiscase, the author has swapped the order of the third section and thefourth section in the second viewing sequence 551B. In addition, theuser interface 190 can enable a user to select all sections of the file151 by the use of an input, such as the selection of a user interfaceelement 851. Once an order of sections has been established, the author170 can associate one or more consumers with data defining the order ofthe sections, e.g., data defining a viewing sequence.

The user interface 190 can also display a list of viewing applicationsand a list of user identities. Similar to the user interface describedabove, the author 170 can configure associations between each viewingsequence 551 and one or more user identities. In addition, the author170 can also configure associations between the user identities and oneor more preferred applications. The system can include one or moremodules that cause the generation of metadata that defines associationsbetween the user identities and one or more preferred applications. Themetadata can cause the execution of the preferred application and/orcause a preferred application to display a viewing sequence associatedwith a user identity.

FIG. 8B is a screenshot of the user interface 190 illustrating a set ofassociations established by the author 170. In this example, the author170 associates the first consumer 171A with the second viewing sequence551B and a presentation application. Thus, when the first consumer 171Aaccesses the file 151, the file 151 is configured to cause a computingdevice to execute a presentation application to display the contents ofthe file 151 according to the second viewing sequence 551B.

FIG. 8C is a screenshot of the user interface 190 illustrating anotherset of associations established by the author 170. In this example, theauthor 170 associates other consumers (171D, 171E, 171G, 171H, and 171I)with the first viewing sequence 551A and a word processing application.Thus, when these consumers (171D, 171E, 171G, 171H, and 171I) access thefile 151, the file 151 is configured to cause a computing device toexecute a word processing application or otherwise cause the wordprocessing application to display the contents of the file 151 accordingto the first viewing sequence 551A.

FIG. 9A and FIG. 9B are continuations of the current exampleillustrating how the contents of a file 151 can be displayed in thepreferred viewing applications. FIG. 9A illustrates a particular layoutthat is displayed when the file 151 is viewed by the first consumer171A. Given the association with a presentation program as the preferredapplication, the file 151 causes the execution of a presentationapplication. The file 151 also causes the user interface 195 generatedby the presentation application to display the selected sections definedin the second viewing sequence 551B in the primary viewing area of aslide deck. The other sections, i.e., the non-selected sections, arearranged in a notes section of each slide. These examples are providedfor illustrative purposes and are not to be construed as limiting. Itcan be appreciated that many different formatting features can be usedto emphasize the selected sections and deemphasize the non-selectedsections.

FIG. 9B illustrates a particular layout that may be displayed when thefile 151 is accessed by another user, such as the fourth user 171D.Given the association with the preferred application, the file 151causes the execution of a word processing application. The file 151causes the user interface generated by the word processing applicationto display the sections that are selected by the author 170. Theremaining sections, i.e., the non-selected sections, can be formatted ina way that deemphasizes the non-selected sections. For instance, thenon-selected sections can be displayed as annotations, or thenon-selected sections can be inserted as footnotes. Such configurationscan utilize different applications to bring emphasis to certain contentselected by the author 170.

It should be appreciated that the subject matter described herein may beimplemented as a computer-controlled apparatus, a computer process, acomputing system, or as an article of manufacture such as acomputer-readable storage medium. Among many other benefits, thetechniques shown herein improve efficiencies with respect to a widerange of computing resources. For instance, human interaction with adevice may be improved, as the use of the techniques disclosed hereinenable an author to control what users see from a single document. Inaddition, improved human interaction improves other computing resourcessuch as processor and network resources, e.g., users only need to shareone file over a network instead of multiple versions of a document, suchas a PowerPoint file. Reducing the versions of a document can reduce auser's computer interaction, reduce the chances of an inadvertent input,and reduce computational cycles. Other technical effects other thanthose mentioned herein can also be realized from implementations of thetechnologies disclosed herein.

Turning now to FIG. 10, aspects of a routine 900 for enabling aspects ofthe techniques disclosed herein are shown and described below. It shouldbe understood that the operations of the methods disclosed herein arenot presented in any particular order and that performance of some orall of the operations in an alternative order(s) is possible and iscontemplated. The operations have been presented in the demonstratedorder for ease of description and illustration. Operations may be added,omitted, and/or performed simultaneously, without departing from thescope of the appended claims.

It also should be understood that the illustrated methods can end at anytime and need not be performed in their entireties. Some or alloperations of the methods, and/or substantially equivalent operations,can be performed by execution of computer-readable instructions includedon a computer-storage media, as defined below. The term“computer-readable instructions,” and variants thereof, as used in thedescription and claims, is used expansively herein to include routines,applications, application modules, program modules, programs,components, data structures, algorithms, and the like. Computer-readableinstructions can be implemented on various system configurations,including single-processor or multiprocessor systems, minicomputers,mainframe computers, personal computers, hand-held computing devices,microprocessor-based, programmable consumer electronics, combinationsthereof, and the like.

Thus, it should be appreciated that the logical operations describedherein are implemented (1) as a sequence of computer implemented acts orprogram modules running on a computing system and/or (2) asinterconnected machine logic circuits or circuit modules within thecomputing system. The implementation is a matter of choice dependent onthe performance and other requirements of the computing system.Accordingly, the logical operations described herein are referred tovariously as states, operations, structural devices, acts, or modules.These operations, structural devices, acts, and modules may beimplemented in software, in firmware, in special purpose digital logic,and any combination thereof.

For example, the operations of the routine 900 are described herein asbeing implemented, at least in part, by modules running the featuresdisclosed herein and can be a dynamically linked library (DLL), astatically linked library, functionality produced by an applicationprograming interface (API), a compiled program, an interpreted program,a script or any other executable set of instructions. Data can be storedin a data structure in one or more memory components. Data can beretrieved from the data structure by addressing links or references tothe data structure.

Although the following illustration refers to the components of thefigures, it can be appreciated that the operations of the routine 900may be also implemented in many other ways. For example, the routine 900may be implemented, at least in part, by a processor of another remotecomputer or a local circuit. In addition, one or more of the operationsof the routine 900 may alternatively or additionally be implemented, atleast in part, by a chipset working alone or in conjunction with othersoftware modules. In the example described below, one or more modules ofa computing system can receive and/or process the data disclosed herein.Any service, circuit or application suitable for providing thetechniques disclosed herein can be used in operations described herein.

With reference to FIG. 10, the routine 900 begins at operation 901 whereone or more modules of a computing system receive access control data152. As summarized herein, the access control data 152 enables an author170 to generate and share a file 151 with a number of consumers 171, andhave the individual consumer 171 view different sections of the file 151depending on permissions associated with each consumer 171. The accesscontrol data 152 can define permissions associated with user identities.The access control 152 can include a number of different attributesassociated with each user identity. For instance, the access control 152can define a hierarchy of an organization, titles for each useridentity, roles for each user identity, etc.

Next, at operation 903, one or more modules of the computing system canassociate sections of a file with user identities. In someconfigurations, the user interface can display multiple sections of afile and representations of user identities. Functionality of the userinterface allows an author to select individual sections of a file andselect individual user identities or groups of user identities. The userselection causes a computing device to generate metadata that can bestored within the file. The metadata can associate selected sections ofthe file with the selected user identities.

Next, at operation 905, one or more modules of the computing system canset permissions for sections of a file. In some configurations, a filecan be configured to block a particular user from viewing certainsections of a document. In operation 905, permissions can be establishedfor certain users to prevent them from viewing certain sections of thefile.

Next, at operation 907, one or more modules of the computing system canassociate a preferred viewing application with a user identity. Asdescribed herein, an author can influence a viewing experience of theconsumer. In some configurations, the author can associate a preferredviewing application with a particular user identity. Thus, a file can beconfigured to cause the execution of the preferred viewing applicationwhen the file is accessed by a particular consumer. In someconfigurations, operation 907 can involve generating metadata for afile, wherein the metadata associates the preferred viewing applicationwith one or more user identities.

Next, at operation 909, one or more modules of the computing system candisplay certain sections of a file based on permissions or roles basedon an identity of a consumer of the file. Operation 909 may involve thereceipt and processing of access control data for a particular user.When the computing device can verify the identity of a particular user,and that particular user accesses content of the file, certain sectionsof the file are automatically displayed based on the verification of theuser's identity. In operation 909, one or more modules of a computingdevice can cause an application to be in viewing mode or editing mode.In some configurations, the one or more computing devices 106B-106Nassociated with a consumer can cause the display of the file 151 in aviewing mode. Thus, the consumer can view the contents of the file 151presented in one or more viewing sequences. The consumer can also editthe contents of the file 151 by the use of editing tools of anapplication. The consumer, for instance, can view and edit the contentsof a file 151 that is received from an author. Once the consumer is doneediting the contents of the file 151, the consumer can cause anapplication to transition to a viewing mode and the application canpresent the contents of the file 151 presented in one or more viewingsequences.

FIG. 11 shows additional details of an example computer architecture1100 for a computer, such as the computing device 106 (FIG. 1), capableof executing the program components described herein. Thus, the computerarchitecture 1100 illustrated in FIG. 11 illustrates an architecture fora server computer, a mobile phone, a PDA, a smart phone, a desktopcomputer, a netbook computer, a tablet computer, and/or a laptopcomputer. The computer architecture 1100 may be utilized to execute anyaspects of the software components presented herein.

The computer architecture 1100 illustrated in FIG. 11 includes a centralprocessing unit 1102 (“CPU”), a system memory 1104, including a randomaccess memory 1106 (“RAM”) and a read-only memory (“ROM”) 1108, and asystem bus 1110 that couples the memory 1104 to the CPU 1102. A basicinput/output system containing the basic routines that help to transferinformation between elements within the computer architecture 1100, suchas during startup, is stored in the ROM 1108. The computer architecture1100 further includes a mass storage device 1112 for storing anoperating system 1107, other data, and one or more application programs141.

The mass storage device 1112 is connected to the CPU 1102 through a massstorage controller (not shown) connected to the bus 1110. The massstorage device 1112 and its associated computer-readable media providenon-volatile storage for the computer architecture 1100. Although thedescription of computer-readable media contained herein refers to a massstorage device, such as a solid state drive, a hard disk or CD-ROMdrive, it should be appreciated by those skilled in the art thatcomputer-readable media can be any available computer storage media orcommunication media that can be accessed by the computer architecture1100.

Communication media includes computer readable instructions, datastructures, program modules, or other data in a modulated data signalsuch as a carrier wave or other transport mechanism and includes anydelivery media. The term “modulated data signal” means a signal that hasone or more of its characteristics changed or set in a manner so as toencode information in the signal. By way of example, and not limitation,communication media includes wired media such as a wired network ordirect-wired connection, and wireless media such as acoustic, RF,infrared and other wireless media. Combinations of the any of the aboveshould also be included within the scope of computer-readable media.

By way of example, and not limitation, computer storage media mayinclude volatile and non-volatile, removable and non-removable mediaimplemented in any method or technology for storage of information suchas computer-readable instructions, data structures, program modules orother data. For example, computer media includes, but is not limited to,RAM, ROM, EPROM, EEPROM, flash memory or other solid-state memorytechnology, CD-ROM, digital versatile disks (“DVD”), HD-DVD, BLU-RAY, orother optical storage, magnetic cassettes, magnetic tape, magnetic diskstorage or other magnetic storage devices, or any other medium which canbe used to store the desired information and which can be accessed bythe computer architecture 1100. For purposes of the claims, the phrase“computer storage medium,” “computer-readable storage medium” andvariations thereof, does not include waves, signals, and/or othertransitory and/or intangible communication media, per se.

According to various configurations, the computer architecture 1100 mayoperate in a networked environment using logical connections to remotecomputers through the network 1156 and/or another network (not shown).The computer architecture 1100 may connect to the network 1156 through anetwork interface unit 1114 connected to the bus 1110. It should beappreciated that the network interface unit 1114 also may be utilized toconnect to other types of networks and remote computer systems. Thecomputer architecture 1100 also may include an input/output controller1116 for receiving and processing input from a number of other devices,including a keyboard, mouse, or electronic stylus (not shown in FIG.11). Similarly, the input/output controller 1116 may provide output to adisplay screen, a printer, or other type of output device (also notshown in FIG. 11).

It should be appreciated that the software components described hereinmay, when loaded into the CPU 1102 and executed, transform the CPU 1102and the overall computer architecture 1100 from a general-purposecomputing system into a special-purpose computing system customized tofacilitate the functionality presented herein. The CPU 1102 may beconstructed from any number of transistors or other discrete circuitelements, which may individually or collectively assume any number ofstates. More specifically, the CPU 1102 may operate as a finite-statemachine, in response to executable instructions contained within thesoftware modules disclosed herein. These computer-executableinstructions may transform the CPU 1102 by specifying how the CPU 1102transitions between states, thereby transforming the transistors orother discrete hardware elements constituting the CPU 1102.

Encoding the software modules presented herein also may transform thephysical structure of the computer-readable media presented herein. Thespecific transformation of physical structure may depend on variousfactors, in different implementations of this description. Examples ofsuch factors may include, but are not limited to, the technology used toimplement the computer-readable media, whether the computer-readablemedia is characterized as primary or secondary storage, and the like.For example, if the computer-readable media is implemented assemiconductor-based memory, the software disclosed herein may be encodedon the computer-readable media by transforming the physical state of thesemiconductor memory. For example, the software may transform the stateof transistors, capacitors, or other discrete circuit elementsconstituting the semiconductor memory. The software also may transformthe physical state of such components in order to store data thereupon.

As another example, the computer-readable media disclosed herein may beimplemented using magnetic or optical technology. In suchimplementations, the software presented herein may transform thephysical state of magnetic or optical media, when the software isencoded therein. These transformations may include altering the magneticcharacteristics of particular locations within given magnetic media.These transformations also may include altering the physical features orcharacteristics of particular locations within given optical media, tochange the optical characteristics of those locations. Othertransformations of physical media are possible without departing fromthe scope and spirit of the present description, with the foregoingexamples provided only to facilitate this discussion.

In light of the above, it should be appreciated that many types ofphysical transformations take place in the computer architecture 1100 inorder to store and execute the software components presented herein. Italso should be appreciated that the computer architecture 1100 mayinclude other types of computing devices, including hand-held computers,embedded computer systems, personal digital assistants, and other typesof computing devices known to those skilled in the art. It is alsocontemplated that the computer architecture 1100 may not include all ofthe components shown in FIG. 11, may include other components that arenot explicitly shown in FIG. 11, or may utilize an architecturecompletely different than that shown in FIG. 11.

FIG. 12 depicts an illustrative distributed computing environment 1200capable of executing the software components described herein. Thus, thedistributed computing environment 1200 illustrated in FIG. 12 can beutilized to execute any aspects of the software components presentedherein. For example, the distributed computing environment 1200 can beutilized to execute aspects of the software components described herein.

According to various implementations, the distributed computingenvironment 1200 includes a computing environment 1202 operating on, incommunication with, or as part of the network 1204. The network 1204 maybe or may include the network 1156, described above with reference toFIG. 11. The network 1204 also can include various access networks. Oneor more client devices 1206A-1206N (hereinafter referred to collectivelyand/or generically as “clients 1206” and also referred to herein ascomputing devices 106) can communicate with the computing environment1202 via the network 1204 and/or other connections (not illustrated inFIG. 12). In one illustrated configuration, the clients 1206 include acomputing device 1206A such as a laptop computer, a desktop computer, orother computing device; a slate or tablet computing device (“tabletcomputing device”) 1206B; a mobile computing device 1206C such as amobile telephone, a smart phone, or other mobile computing device; aserver computer 1206D; and/or other devices 1206N. It should beunderstood that any number of clients 1206 can communicate with thecomputing environment 1202. Two example computing architectures for theclients 1206 are illustrated and described herein with reference toFIGS. 1, 11 and 13. It should be understood that the illustrated clients1206 and computing architectures illustrated and described herein areillustrative, and should not be construed as being limited in any way.

In the illustrated configuration, the computing environment 1202includes application servers 1208, data storage 1210, and one or morenetwork interfaces 1212. According to various implementations, thefunctionality of the application servers 1208 can be provided by one ormore server computers that are executing as part of, or in communicationwith, the network 1204. The application servers 1208 can host variousservices, virtual machines, portals, and/or other resources. In theillustrated configuration, the application servers 1208 host one or morevirtual machines 1214 for hosting applications or other functionality.According to various implementations, the virtual machines 1214 host oneor more applications and/or software modules for enabling thegeneration, communication and viewing of a file 151. It should beunderstood that this configuration is illustrative, and should not beconstrued as being limiting in any way. The application servers 1208also host or provide access to one or more portals, link pages, Websites, and/or other information (“Web portals”) 1216.

According to various implementations, the application servers 1208 alsoinclude one or more mailbox services 1218 and one or more messagingservices 1220. The mailbox services 1218 can include electronic mail(“email”) services. The mailbox services 1218 also can include variouspersonal information management (“PIM”) and presence services including,but not limited to, calendar services, contact management services,collaboration services, and/or other services. The messaging services1220 can include, but are not limited to, instant messaging services,chat services, forum services, and/or other communication services.

The application servers 1208 also may include one or more socialnetworking services 1222. The social networking services 1222 caninclude various social networking services including, but not limitedto, services for sharing or posting status updates, instant messages,links, photos, videos, and/or other information; services for commentingor displaying interest in articles, products, blogs, or other resources;and/or other services. In some configurations, the social networkingservices 1222 are provided by or include the FACEBOOK social networkingservice, the LINKEDIN professional networking service, the MYSPACEsocial networking service, the FOURSQUARE geographic networking service,the YAMMER office colleague networking service, and the like. In otherconfigurations, the social networking services 1222 are provided byother services, sites, and/or providers that may or may not beexplicitly known as social networking providers. For example, some websites allow users to interact with one another via email, chat services,and/or other means during various activities and/or contexts such asreading published articles, commenting on goods or services, publishing,collaboration, gaming, and the like. Examples of such services include,but are not limited to, the WINDOWS LIVE service and the XBOX LIVEservice from Microsoft Corporation in Redmond, Wash. Other services arepossible and are contemplated.

The social networking services 1222 also can include commenting,blogging, and/or micro blogging services. Examples of such servicesinclude, but are not limited to, the YELP commenting service, the KUDZUreview service, the OFFICETALK enterprise micro blogging service, theTWITTER messaging service, the GOOGLE BUZZ service, and/or otherservices. It should be appreciated that the above lists of services arenot exhaustive and that numerous additional and/or alternative socialnetworking services 1222 are not mentioned herein for the sake ofbrevity. As such, the above configurations are illustrative, and shouldnot be construed as being limited in any way. According to variousimplementations, the social networking services 1222 may host one ormore applications and/or software modules for providing thefunctionality described herein. For instance, any one of the applicationservers 1208 may communicate or facilitate the functionality andfeatures described herein. Also, a social networking application, mailclient, messaging client or a browser running on a phone or any otherclient 1206 may communicate with a networking service 1222 andfacilitate the functionality, even in part, described above with respectto FIG. 12. Any device or service depicted herein can be used as aresource for generating, communicating, or viewing a file, includingemail servers, storage servers, etc. It can be appreciated that any ofthe resources depicted herein can also provide access control data forthe generation and configuration of a file 151. The access control datacan be provided by any resource depicted herein for the purposes ofverifying a consumer's identity.

As shown in FIG. 12, the application servers 1208 also can host otherservices, applications, portals, and/or other resources (“otherresources”) 1224. The other resources 1224 can include, but are notlimited to, document sharing, rendering or any other functionality. Itthus can be appreciated that the computing environment 1202 can provideintegration of the concepts and technologies disclosed herein withvarious mailbox, messaging, social networking, and/or other services orresources.

As mentioned above, the computing environment 1202 can include the datastorage 1210. According to various implementations, the functionality ofthe data storage 1210 is provided by one or more databases operating on,or in communication with, the network 1204. The functionality of thedata storage 1210 also can be provided by one or more server computersconfigured to host data for the computing environment 1202. The datastorage 1210 can include, host, or provide one or more real or virtualdatastores 1226A-1226N (hereinafter referred to collectively and/orgenerically as “datastores 1226”). The datastores 1226 are configured tohost data used or created by the application servers 1208 and/or otherdata. Although not illustrated in FIG. 12, the datastores 1226 also canhost or store web page documents, word documents, presentationdocuments, data structures, algorithms for execution by a recommendationengine, and/or other data utilized by any application program or anothermodule. Aspects of the datastores 1226 may be associated with a servicefor storing files.

The computing environment 1202 can communicate with, or be accessed by,the network interfaces 1212. The network interfaces 1212 can includevarious types of network hardware and software for supportingcommunications between two or more computing devices including, but notlimited to, the computing devices and the servers. It should beappreciated that the network interfaces 1212 also may be utilized toconnect to other types of networks and/or computer systems.

It should be understood that the distributed computing environment 1200described herein can provide any aspects of the software elementsdescribed herein with any number of virtual computing resources and/orother distributed computing functionality that can be configured toexecute any aspects of the software components disclosed herein.According to various implementations of the concepts and technologiesdisclosed herein, the distributed computing environment 1200 providesthe software functionality described herein as a service to thecomputing devices. It should be understood that the computing devicescan include real or virtual machines including, but not limited to,server computers, web servers, personal computers, mobile computingdevices, smart phones, and/or other devices. As such, variousconfigurations of the concepts and technologies disclosed herein enableany device configured to access the distributed computing environment1200 to utilize the functionality described herein for providing thetechniques disclosed herein, among other aspects. In one specificexample, as summarized above, techniques described herein may beimplemented, at least in part, by a web browser application, which worksin conjunction with the application servers 1208 of FIG. 12.

Turning now to FIG. 13, an illustrative computing device architecture1300 for a computing device that is capable of executing varioussoftware components described herein is described for enabling thetechniques disclosed herein. The computing device architecture 1300 isapplicable to computing devices that facilitate mobile computing due, inpart, to form factor, wireless connectivity, and/or battery-poweredoperation. In some configurations, the computing devices include, butare not limited to, mobile telephones, tablet devices, slate devices,portable video game devices, and the like. The computing devicearchitecture 1300 is applicable to any of the computing devices shown inFIG. 1 and FIG. 12. Moreover, aspects of the computing devicearchitecture 1300 may be applicable to traditional desktop computers,portable computers (e.g., phones, laptops, notebooks, ultra-portables,and netbooks), server computers, and other computer systems, such asdescribed herein with reference to FIG. 1 and FIG. 12. For example, thesingle touch and multi-touch aspects disclosed herein below may beapplied to desktop computers that utilize a touchscreen or some othertouch-enabled device, such as a touch-enabled track pad or touch-enabledmouse.

The computing device architecture 1300 illustrated in FIG. 13 includes aprocessor 1302, memory components 1304, network connectivity components1306, sensor components 1308, input/output components 1310, and powercomponents 1312. In the illustrated configuration, the processor 1302 isin communication with the memory components 1304, the networkconnectivity components 1306, the sensor components 1308, theinput/output (“I/O”) components 1310, and the power components 1312.Although no connections are shown between the individual componentsillustrated in FIG. 13, the components can interact to carry out devicefunctions. In some configurations, the components are arranged so as tocommunicate via one or more busses (not shown).

The processor 1302 includes a central processing unit (“CPU”) configuredto process data, execute computer-executable instructions of one or moreapplication programs, and communicate with other components of thecomputing device architecture 1300 in order to perform variousfunctionality described herein. The processor 1302 may be utilized toexecute aspects of the software components presented herein and,particularly, those that utilize, at least in part, a touch-enabledinput.

In some configurations, the processor 1302 includes a graphicsprocessing unit (“GPU”) configured to accelerate operations performed bythe CPU, including, but not limited to, operations performed byexecuting general-purpose scientific and/or engineering computingapplications, as well as graphics-intensive computing applications suchas high resolution video (e.g., 720P, 1080P, and higher resolution),video games, three-dimensional (“3D”) modeling applications, and thelike. In some configurations, the processor 1302 is configured tocommunicate with a discrete GPU (not shown). In any case, the CPU andGPU may be configured in accordance with a co-processing CPU/GPUcomputing model, wherein the sequential part of an application executeson the CPU and the computationally-intensive part is accelerated by theGPU.

In some configurations, the processor 1302 is, or is included in, asystem-on-chip (“SoC”) along with one or more of the other componentsdescribed herein below. For example, the SoC may include the processor1302, a GPU, one or more of the network connectivity components 1306,and one or more of the sensor components 1308. In some configurations,the processor 1302 is fabricated, in part, utilizing apackage-on-package (“PoP”) integrated circuit packaging technique. Theprocessor 1302 may be a single core or multi-core processor.

The processor 1302 may be created in accordance with an ARMarchitecture, available for license from ARM HOLDINGS of Cambridge,United Kingdom. Alternatively, the processor 1302 may be created inaccordance with an x86 architecture, such as is available from INTELCORPORATION of Mountain View, Calif. and others. In some configurations,the processor 1302 is a SNAPDRAGON SoC, available from QUALCOMM of SanDiego, Calif., a TEGRA SoC, available from NVIDIA of Santa Clara,Calif., a HUMMINGBIRD SoC, available from SAMSUNG of Seoul, South Korea,an Open Multimedia Application Platform (“OMAP”) SoC, available fromTEXAS INSTRUMENTS of Dallas, Tex., a customized version of any of theabove SoCs, or a proprietary SoC.

The memory components 1304 include a random access memory (“RAM”) 1314,a read-only memory (“ROM”) 1316, an integrated storage memory(“integrated storage”) 1318, and a removable storage memory (“removablestorage”) 1320. In some configurations, the RAM 1314 or a portionthereof, the ROM 1316 or a portion thereof, and/or some combination ofthe RAM 1314 and the ROM 1316 is integrated in the processor 1302. Insome configurations, the ROM 1316 is configured to store a firmware, anoperating system or a portion thereof (e.g., operating system kernel),and/or a bootloader to load an operating system kernel from theintegrated storage 1318 and/or the removable storage 1320.

The integrated storage 1318 can include a solid-state memory, a harddisk, or a combination of solid-state memory and a hard disk. Theintegrated storage 1318 may be soldered or otherwise connected to alogic board upon which the processor 1302 and other components describedherein also may be connected. As such, the integrated storage 1318 isintegrated in the computing device. The integrated storage 1318 isconfigured to store an operating system or portions thereof, applicationprograms, data, and other software components described herein.

The removable storage 1320 can include a solid-state memory, a harddisk, or a combination of solid-state memory and a hard disk. In someconfigurations, the removable storage 1320 is provided in lieu of theintegrated storage 1318. In other configurations, the removable storage1320 is provided as additional optional storage. In some configurations,the removable storage 1320 is logically combined with the integratedstorage 1318 such that the total available storage is made available asa total combined storage capacity. In some configurations, the totalcombined capacity of the integrated storage 1318 and the removablestorage 1320 is shown to a user instead of separate storage capacitiesfor the integrated storage 1318 and the removable storage 1320.

The removable storage 1320 is configured to be inserted into a removablestorage memory slot (not shown) or other mechanism by which theremovable storage 1320 is inserted and secured to facilitate aconnection over which the removable storage 1320 can communicate withother components of the computing device, such as the processor 1302.The removable storage 1320 may be embodied in various memory cardformats including, but not limited to, PC card, CompactFlash card,memory stick, secure digital (“SD”), miniSD, microSD, universalintegrated circuit card (“UICC”) (e.g., a subscriber identity module(“SIM”) or universal SIM (“USIM”)), a proprietary format, or the like.

It can be understood that one or more of the memory components 1304 canstore an operating system. According to various configurations, theoperating system includes, but is not limited to WINDOWS MOBILE OS fromMicrosoft Corporation of Redmond, Wash., WINDOWS PHONE OS from MicrosoftCorporation, WINDOWS from Microsoft Corporation, PALM WEBOS fromHewlett-Packard Company of Palo Alto, Calif., BLACKBERRY OS fromResearch In Motion Limited of Waterloo, Ontario, Canada, IOS from AppleInc. of Cupertino, Calif., and ANDROID OS from Google Inc. of MountainView, Calif. Other operating systems are contemplated.

The network connectivity components 1306 include a wireless wide areanetwork component (“WWAN component”) 1322, a wireless local area networkcomponent (“WLAN component”) 1324, and a wireless personal area networkcomponent (“WPAN component”) 1326. The network connectivity components1306 facilitate communications to and from the network 1356 or anothernetwork, which may be a WWAN, a WLAN, or a WPAN. Although only thenetwork 1356 is illustrated, the network connectivity components 1306may facilitate simultaneous communication with multiple networks,including the network 604 of FIG. 6. For example, the networkconnectivity components 1306 may facilitate simultaneous communicationswith multiple networks via one or more of a WWAN, a WLAN, or a WPAN.

The network 1356 may be or may include a WWAN, such as a mobiletelecommunications network utilizing one or more mobiletelecommunications technologies to provide voice and/or data services toa computing device utilizing the computing device architecture 1300 viathe WWAN component 1322. The mobile telecommunications technologies caninclude, but are not limited to, Global System for Mobile communications(“GSM”), Code Division Multiple Access (“CDMA”) ONE, CDMA7000, UniversalMobile Telecommunications System (“UMTS”), Long Term Evolution (“LTE”),and Worldwide Interoperability for Microwave Access (“WiMAX”). Moreover,the network 1356 may utilize various channel access methods (which mayor may not be used by the aforementioned standards) including, but notlimited to, Time Division Multiple Access (“TDMA”), Frequency DivisionMultiple Access (“FDMA”), CDMA, wideband CDMA (“W-CDMA”), OrthogonalFrequency Division Multiplexing (“OFDM”), Space Division Multiple Access(“SDMA”), and the like. Data communications may be provided usingGeneral Packet Radio Service (“GPRS”), Enhanced Data rates for GlobalEvolution (“EDGE”), the High-Speed Packet Access (“HSPA”) protocolfamily including High-Speed Downlink Packet Access (“HSDPA”), EnhancedUplink (“EUL”) or otherwise termed High-Speed Uplink Packet Access(“HSUPA”), Evolved HSPA (“HSPA+”), LTE, and various other current andfuture wireless data access standards. The network 1356 may beconfigured to provide voice and/or data communications with anycombination of the above technologies. The network 1356 may beconfigured to or adapted to provide voice and/or data communications inaccordance with future generation technologies.

In some configurations, the WWAN component 1322 is configured to providedual-multi-mode connectivity to the network 1356. For example, the WWANcomponent 1322 may be configured to provide connectivity to the network1356, wherein the network 1356 provides service via GSM and UMTStechnologies, or via some other combination of technologies.Alternatively, multiple WWAN components 1322 may be utilized to performsuch functionality, and/or provide additional functionality to supportother non-compatible technologies (i.e., incapable of being supported bya single WWAN component). The WWAN component 1322 may facilitate similarconnectivity to multiple networks (e.g., a UMTS network and an LTEnetwork).

The network 1356 may be a WLAN operating in accordance with one or moreInstitute of Electrical and Electronic Engineers (“IEEE”) 802.11standards, such as IEEE 802.11a, 802.11b, 802.11g, 802.11n, and/orfuture 802.11 standard (referred to herein collectively as WI-FI). Draft802.11 standards are also contemplated. In some configurations, the WLANis implemented utilizing one or more wireless WI-FI access points. Insome configurations, one or more of the wireless WI-FI access points areanother computing device with connectivity to a WWAN that arefunctioning as a WI-FI hotspot. The WLAN component 1324 is configured toconnect to the network 1356 via the WI-FI access points. Suchconnections may be secured via various encryption technologiesincluding, but not limited to, WI-FI Protected Access (“WPA”), WPA2,Wired Equivalent Privacy (“WEP”), and the like.

The network 1356 may be a WPAN operating in accordance with InfraredData Association (“IrDA”), BLUETOOTH, wireless Universal Serial Bus(“USB”), Z-Wave, ZIGBEE, or some other short-range wireless technology.In some configurations, the WPAN component 1326 is configured tofacilitate communications with other devices, such as peripherals,computers, or other computing devices via the WPAN.

The sensor components 1308 include a magnetometer 1328, an ambient lightsensor 1330, a proximity sensor 1332, an accelerometer 1334, a gyroscope1336, and a Global Positioning System sensor (“GPS sensor”) 1338. It iscontemplated that other sensors, such as, but not limited to,temperature sensors or shock detection sensors, also may be incorporatedin the computing device architecture 1300.

The magnetometer 1328 is configured to measure the strength anddirection of a magnetic field. In some configurations the magnetometer1328 provides measurements to a compass application program storedwithin one of the memory components 1304 in order to provide a user withaccurate directions in a frame of reference including the cardinaldirections, north, south, east, and west. Similar measurements may beprovided to a navigation application program that includes a compasscomponent. Other uses of measurements obtained by the magnetometer 1328are contemplated.

The ambient light sensor 1330 is configured to measure ambient light. Insome configurations, the ambient light sensor 1330 provides measurementsto an application program stored within one of the memory components1304 in order to automatically adjust the brightness of a display(described below) to compensate for low-light and high-lightenvironments. Other uses of measurements obtained by the ambient lightsensor 1330 are contemplated.

The proximity sensor 1332 is configured to detect the presence of anobject or thing in proximity to the computing device without directcontact. In some configurations, the proximity sensor 1332 detects thepresence of a user's body (e.g., the user's face) and provides thisinformation to an application program stored within one of the memorycomponents 1304 that utilizes the proximity information to enable ordisable some functionality of the computing device. For example, atelephone application program may automatically disable a touchscreen(described below) in response to receiving the proximity information sothat the user's face does not inadvertently end a call or enable/disableother functionality within the telephone application program during thecall. Other uses of proximity information as detected by the proximitysensor 1332 are contemplated.

The accelerometer 1334 is configured to measure proper acceleration. Insome configurations, output from the accelerometer 1334 is used by anapplication program as an input mechanism to control some functionalityof the application program. For example, the application program may bea video game in which a character, a portion thereof, or an object ismoved or otherwise manipulated in response to input received via theaccelerometer 1334. In some configurations, output from theaccelerometer 1334 is provided to an application program for use inswitching between landscape and portrait modes, calculating coordinateacceleration, or detecting a fall. Other uses of the accelerometer 1334are contemplated.

The gyroscope 1336 is configured to measure and maintain orientation. Insome configurations, output from the gyroscope 1336 is used by anapplication program as an input mechanism to control some functionalityof the application program. For example, the gyroscope 1336 can be usedfor accurate recognition of movement within a 3D environment of a videogame application or some other application. In some configurations, anapplication program utilizes output from the gyroscope 1336 and theaccelerometer 1334 to enhance control of some functionality of theapplication program. Other uses of the gyroscope 1336 are contemplated.

The GPS sensor 1338 is configured to receive signals from GPS satellitesfor use in calculating a location. The location calculated by the GPSsensor 1338 may be used by any application program that requires orbenefits from location information. For example, the location calculatedby the GPS sensor 1338 may be used with a navigation application programto provide directions from the location to a destination or directionsfrom the destination to the location. Moreover, the GPS sensor 1338 maybe used to provide location information to an external location-basedservice, such as E911 service. The GPS sensor 1338 may obtain locationinformation generated via WI-FI, WIMAX, and/or cellular triangulationtechniques utilizing one or more of the network connectivity components1306 to aid the GPS sensor 1338 in obtaining a location fix. The GPSsensor 1338 may also be used in Assisted GPS (“A-GPS”) systems. The GPSsensor 1338 can also operate in conjunction with other components, suchas the processor 1302, to generate positioning data for the computingdevice 1300.

The I/O components 1310 include a display 1340, a touchscreen 1342, adata I/O interface component (“data I/O”) 1344, an audio I/O interfacecomponent (“audio I/O”) 1346, a video I/O interface component (“videoI/O”) 1348, and a camera 1350. In some configurations, the display 1340and the touchscreen 1342 are combined. In some configurations two ormore of the data I/O component 1344, the audio I/O component 1346, andthe video I/O component 1348 are combined. The I/O components 1310 mayinclude discrete processors configured to support the various interfacesdescribed below, or may include processing functionality built-in to theprocessor 1302.

The display 1340 is an output device configured to present informationin a visual form. In particular, the display 1340 may present graphicaluser interface (“GUI”) elements, text, images, video, notifications,virtual buttons, virtual keyboards, messaging data, Internet content,device status, time, date, calendar data, preferences, map information,location information, and any other information that is capable of beingpresented in a visual form. In some configurations, the display 1340 isa liquid crystal display (“LCD”) utilizing any active or passive matrixtechnology and any backlighting technology (if used). In someconfigurations, the display 1340 is an organic light emitting diode(“OLED”) display. Other display types are contemplated.

The touchscreen 1342, also referred to herein as a “touch-enabledscreen,” is an input device configured to detect the presence andlocation of a touch. The touchscreen 1342 may be a resistivetouchscreen, a capacitive touchscreen, a surface acoustic wavetouchscreen, an infrared touchscreen, an optical imaging touchscreen, adispersive signal touchscreen, an acoustic pulse recognitiontouchscreen, or may utilize any other touchscreen technology. In someconfigurations, the touchscreen 1342 is incorporated on top of thedisplay 1340 as a transparent layer to enable a user to use one or moretouches to interact with objects or other information presented on thedisplay 1340. In other configurations, the touchscreen 1342 is a touchpad incorporated on a surface of the computing device that does notinclude the display 1340. For example, the computing device may have atouchscreen incorporated on top of the display 1340 and a touch pad on asurface opposite the display 1340.

In some configurations, the touchscreen 1342 is a single-touchtouchscreen. In other configurations, the touchscreen 1342 is amulti-touch touchscreen. In some configurations, the touchscreen 1342 isconfigured to detect discrete touches, single touch gestures, and/ormulti-touch gestures. These are collectively referred to herein as“gestures” for convenience. Several gestures will now be described. Itshould be understood that these gestures are illustrative and are notintended to limit the scope of the appended claims. Moreover, thedescribed gestures, additional gestures, and/or alternative gestures maybe implemented in software for use with the touchscreen 1342. As such, adeveloper may create gestures that are specific to a particularapplication program.

In some configurations, the touchscreen 1342 supports a tap gesture inwhich a user taps the touchscreen 1342 once on an item presented on thedisplay 1340. The tap gesture may be used for various reasons including,but not limited to, opening or launching whatever the user taps. In someconfigurations, the touchscreen 1342 supports a double tap gesture inwhich a user taps the touchscreen 1342 twice on an item presented on thedisplay 1340. The double tap gesture may be used for various reasonsincluding, but not limited to, zooming in or zooming out in stages. Insome configurations, the touchscreen 1342 supports a tap and holdgesture in which a user taps the touchscreen 1342 and maintains contactfor at least a pre-defined time. The tap and hold gesture may be usedfor various reasons including, but not limited to, opening acontext-specific menu.

In some configurations, the touchscreen 1342 supports a pan gesture inwhich a user places a finger on the touchscreen 1342 and maintainscontact with the touchscreen 1342 while moving the finger on thetouchscreen 1342. The pan gesture may be used for various reasonsincluding, but not limited to, moving through screens, images, or menusat a controlled rate. Multiple finger pan gestures are alsocontemplated. In some configurations, the touchscreen 1342 supports aflick gesture in which a user swipes a finger in the direction the userwants the screen to move. The flick gesture may be used for variousreasons including, but not limited to, scrolling horizontally orvertically through menus or pages. In some configurations, thetouchscreen 1342 supports a pinch and stretch gesture in which a usermakes a pinching motion with two fingers (e.g., thumb and forefinger) onthe touchscreen 1342 or moves the two fingers apart. The pinch andstretch gesture may be used for various reasons including, but notlimited to, zooming gradually in or out of a web site, map, or picture.

Although the above gestures have been described with reference to theuse of one or more fingers for performing the gestures, other appendagessuch as toes or objects such as styluses may be used to interact withthe touchscreen 1342. As such, the above gestures should be understoodas being illustrative and should not be construed as being limiting inany way.

The data I/O interface component 1344 is configured to facilitate inputof data to the computing device and output of data from the computingdevice. In some configurations, the data I/O interface component 1344includes a connector configured to provide wired connectivity betweenthe computing device and a computer system, for example, forsynchronization operation purposes. The connector may be a proprietaryconnector or a standardized connector such as USB, micro-USB, mini-USB,or the like. In some configurations, the connector is a dock connectorfor docking the computing device with another device such as a dockingstation, audio device (e.g., a digital music player), or video device.

The audio I/O interface component 1346 is configured to provide audioinput and/or output capabilities to the computing device. In someconfigurations, the audio I/O interface component 1346 includes amicrophone configured to collect audio signals. In some configurations,the audio I/O interface component 1346 includes a headphone jackconfigured to provide connectivity for headphones or other externalspeakers. In some configurations, the audio I/O interface component 1346includes a speaker for the output of audio signals. In someconfigurations, the audio I/O interface component 1346 includes anoptical audio cable out.

The video I/O interface component 1348 is configured to provide videoinput and/or output capabilities to the computing device. In someconfigurations, the video I/O interface component 1348 includes a videoconnector configured to receive video as input from another device(e.g., a video media player such as a DVD or BLURAY player) or sendvideo as output to another device (e.g., a monitor, a television, orsome other external display). In some configurations, the video I/Ointerface component 1348 includes a High-Definition Multimedia Interface(“HDMI”), mini-HDMI, micro-HDMI, DisplayPort, or proprietary connectorto input/output video content. In some configurations, the video I/Ointerface component 1348 or portions thereof is combined with the audioI/O interface component 1346 or portions thereof.

The camera 1350 can be configured to capture still images and/or video.The camera 1350 may utilize a charge coupled device (“CCD”) or acomplementary metal oxide semiconductor (“CMOS”) image sensor to captureimages. In some configurations, the camera 1350 includes a flash to aidin taking pictures in low-light environments. Settings for the camera1350 may be implemented as hardware or software buttons.

Although not illustrated, one or more hardware buttons may also beincluded in the computing device architecture 1300. The hardware buttonsmay be used for controlling some operational aspects of the computingdevice. The hardware buttons may be dedicated buttons or multi-usebuttons. The hardware buttons may be mechanical or sensor-based.

The illustrated power components 1312 include one or more batteries1352, which can be connected to a battery gauge 1354. The batteries 1352may be rechargeable or disposable. Rechargeable battery types include,but are not limited to, lithium polymer, lithium ion, nickel cadmium,and nickel metal hydride. Each of the batteries 1352 may be made of oneor more cells.

The battery gauge 1354 can be configured to measure battery parameterssuch as current, voltage, and temperature. In some configurations, thebattery gauge 1354 is configured to measure the effect of a battery'sdischarge rate, temperature, age and other factors to predict remaininglife within a certain percentage of error. In some configurations, thebattery gauge 1354 provides measurements to an application program thatis configured to utilize the measurements to present useful powermanagement data to a user. Power management data may include one or moreof a percentage of battery used, a percentage of battery remaining, abattery condition, a remaining time, a remaining capacity (e.g., in watthours), a current draw, and a voltage.

The power components 1312 may also include a power connector, which maybe combined with one or more of the aforementioned I/O components 1310.The power components 1312 may interface with an external power system orcharging equipment via an I/O component.

In closing, although the various configurations have been described inlanguage specific to structural features and/or methodological acts, itis to be understood that the subject matter defined in the appendedrepresentations is not necessarily limited to the specific features oracts described. Rather, the specific features and acts are disclosed asexample forms of implementing the claimed subject matter.

What is claimed is:
 1. A method for configurating a file comprising aplurality of file sections, the method comprising: receiving, at acomputing device, access control data defining user identities;receiving input data indicating an association between a first set offile sections and a first user identity and an association between asecond set of file sections and a second user identity; generating filemetadata defining the association between the first set of file sectionsand the first user identity and defining the association between thesecond set of file sections and the second user identity, the filemetadata configured to cause a viewing application to display the firstset of file sections when the file is accessed by a first userassociated with the first user identity, or display the second set offile sections when the file is accessed by a second user associated withthe second user identity.
 2. The method of claim 1, further comprising:displaying user interface elements representing the first set of filesections; displaying user interface elements representing the first useridentity; and in response to receiving the user input indicating theassociation between the first set of file sections and the first useridentity, generating a first graphical indicator bringing focus to theassociation between the first set of file sections and the first useridentity.
 3. The method of claim 1, wherein the access control datadefines roles for individual user identities, wherein the file causes aviewing application to display the first set of file sections when thefile is accessed by one or more identities associated with a first role;or display the second set of file sections when the file is accessed byone or more identities associated with a second role.
 4. The method ofclaim 1, wherein the file metadata causes the viewing application toprevent a display of file sections that are not defined in the first setof file sections when the file is accessed by the first user associatedwith the first user identity.
 5. The method of claim 1, wherein the filemetadata causes the viewing application to deemphasize a display of filesections that are not defined in the first set of file sections when thefile is accessed by the first user associated with the first useridentity.
 6. The method of claim 1, further comprising: receivingadditional input data indicating an association between a first viewingapplication and the first user identity and an association between asecond viewing application and the second user identity; and configuringthe file metadata to define the association between the first viewingapplication and the first user identity and an association between thesecond viewing application and the second user identity, wherein thefile metadata is configured to cause a consumer computing device todisplay the first set of file sections in a user interface of the firstviewing application when the file is accessed by the first userassociated with the first user identity, or display the second set offile sections in a user interface of the second viewing application whenthe file is accessed by the second user associated with the second useridentity.
 7. The method of claim 1, further comprising: receivingadditional input data indicating an association between a first viewingapplication and the first user identity; and configuring the filemetadata to define the association between the first viewing applicationand the first user identity, wherein the file metadata is configured tocause a consumer computing device to display a first set of filesections in a user interface of the first viewing application when thefile is accessed by the first user associated with the first useridentity.
 8. The method of claim 1, further comprising: receivingadditional input data indicating an order of the file sections in thefirst set of file sections and an order of the file sections in thesecond set of file sections; and configuring the file metadata to definea first order of the file sections in the first set of file sections anddefine a second order of the file sections in the second set of filesections, the file metadata configured to cause the viewing applicationto display the first set of file sections in a sequence following thefirst order when the file is accessed by the first user associated withthe first user identity, or display the second set of file sections in asequence following the second order when the file is accessed by thesecond user associated with the second user identity.
 9. The method ofclaim 1, wherein a plurality of file sections includes the first set offile sections and other file sections, the file metadata configured tocause the viewing application to display the other file sections in aformat that deemphasizes the content of the other sections in comparisonto the display of the first set of file sections.
 10. A method forviewing a file on a computing device, comprising: receiving accesscontrol data defining a user identity; verifying user credentialsassociated with the user identity; receiving the file comprising aplurality of file sections comprising a set of file sections and othersections, wherein the set of file sections is associated with the useridentity, and wherein the file causes a viewing application to displaythe first set of file sections when the file is accessed by the userassociated with the user identity, and blocking or de-emphasizing adisplay of the other sections.
 11. The method of claim 10, wherein thefile comprises metadata defining an association between a first viewingapplication and the user identity and an association between a secondviewing application and at least one other user identity, the methodfurther comprising: in response to verifying the user credentials,displaying the first set of file sections in the user interface of thefirst viewing application
 12. The method of claim 10, wherein the filecomprises metadata defining a first order of file sections associatedwith the user identity and a second order of file sections associatedwith at least one other user identity, wherein the metadata causes aviewing application to display the first set of file sections in asequence following the first order when the file is accessed by the userassociated with the user identity.
 13. The method of claim 10, whereinthe file causes the viewing application to display the other filesections in a format that de-emphasizes the content of the othersections in comparison to the display of the set of file sections.
 14. Asystem comprising: one or more processing units; and a computer-readablemedium having encoded thereon computer-executable instructions to causethe one or more processing units to receive access control data defininguser identities; receive input data indicating an association between afirst set of file sections and a first user identity and an associationbetween a second set of file sections and a second user identity;generate file metadata defining the association between the first set offile sections and the first user identity and defining the associationbetween the second set of file sections and the second user identity,the file metadata configured to cause a viewing application to displaythe first set of file sections when the file is accessed by a first userassociated with the first user identity, or display the second set offile sections when the file is accessed by a second user associated withthe second user identity.
 15. The system of claim 14, wherein theinstructions further cause the one or more processing units to: displayuser interface elements representing the first set of file sections;display user interface elements representing the first user identity;and in response to receiving the user input indicating the associationbetween the first set of file sections and the first user identity,generate a first graphical indicator brining focus to the associationbetween the first set of file sections and the first user identity. 16.The system of claim 14, wherein the access control data defines rolesfor individual user identities, wherein the file causes a viewingapplication to: display the first set of file sections when the file isaccessed by one or more identities associated with a first role; ordisplay the second set of file sections when the file is accessed by oneor more identities associated with a second role.
 17. The system ofclaim 14, wherein the instructions further cause the one or moreprocessing units to: receive additional input data indicating anassociation between a first viewing application and the first useridentity and an association between a second viewing application and thesecond user identity; and configure the file metadata to define theassociation between the first viewing application and the first useridentity and an association between a second viewing application and thesecond user identity, wherein the file metadata is configured to cause aconsumer computing device to: display the first set of file sections inthe user interface of the first viewing application when the file isaccessed by the first user associated with the first user identity, ordisplay the second set of file sections in the user interface of thesecond viewing application when the file is accessed by the second userassociated with the second user identity.
 18. The system of claim 14,wherein the instructions further cause the one or more processing unitsto: receive additional input data indicating an association between afirst viewing application and the first user identity; and configure thefile metadata to define the association between the first viewingapplication and the first user identity, wherein the file metadata isconfigured to cause a consumer computing device to display the first setof file sections in a user interface of the first viewing applicationwhen the file is accessed by the first user associated with the firstuser identity.
 19. The system of claim 14, wherein the instructionsfurther cause the one or more processing units to: receive additionalinput data indicating an order of the file sections in the first set offile sections and an order of the file sections in the second set offile sections; and configure the file metadata to define the first orderof the file sections in the first set of file sections and define thesecond order of the file sections in the second set of file sections,the file metadata configured to cause the viewing application to displaythe first set of file sections in a sequence following the first orderwhen the file is accessed by the first user associated with the firstuser identity, or display the second set of file sections in a sequencefollowing the second order when the file is accessed by the second userassociated with the second user identity.
 20. The system of claim 14,wherein the plurality of file sections includes the first set of filesections and other file sections, the file metadata configured to causethe viewing application to display the other file sections in a formatthat deemphasizes the content of the other sections in comparison to thedisplay of the first set of file sections.